#include<stdio.h>
#include<unistd.h> 
#include<sys/types.h>
#include<sys/wait.h>
#include<stdlib.h>

int main()
{
    pid_t cpid = fork();

    if (cpid == 0) {
        // child
        printf("I'm child process, pid: %d\n", getpid());
        char* const my_argv[] = {      // 字符指针数组
            "ls",
            "-l",
            "-a",
            NULL
        }; 
        execv("/usr/bin/ls", my_argv); // 进程替换
        exit(1);
    }
    else if (cpid > 0) {
        // father
		// ...
    }
    else {
        // fork failure
    }
    return 0;
}

